// controller: 适用于以 node 作为中间层、中转层的项目,controller 里面只做一些简单的参数处理
// service: 如果想要把 node 作为真正的后端去操作数据库等，建议再分出一层 service, 用于处理数据层面的交互，比如调用 model 处理数据库，调用第三方接口等
const HomeService = require('../service/home')
module.exports = {
  index: async ctx => {
    await ctx.render('home/index', {
      title: '欢迎你'
    })
  },
  home: async ctx => {
    ctx.send({
      status: 1,
      data: {
        message: '成功'
      }
    })
  },
  homeParams: async ctx => {
    console.log(`params: ${JSON.stringify(ctx.params)}`)
    ctx.response.body = '<h1>home params page</h1>'
  },
  login: async ctx => {
    // 这里使用await来异步读取文件，因为需要等待，所以必须保证读取文件之后再进行请求响应
    await ctx.render('home/login', {
      btnName: 'GOGOGOGO'
    })
  },
  register: async ctx => {
    const {name, password} = ctx.request.body
    const res = await HomeService.register(name, password)
    if (res.status === '-1') {
      await ctx.render('home/login', res.data)
    } else {
      await ctx.render('home/success', res.data)
    }
  }
}